GLSL で使えるデータ型について
GLSL で使えるデータ型について
先ほどから登場しているシェーダの記述例の中で、修飾子に続けて vec3 とか mat4 などと書かれていますね。これはいわゆる変数の型を表しています。代表的なものだけ、ここで簡単に触れておきます。
vec* という記述はベクトルを表していて、* の部分に入った数字によって、その要素の数を定義できます。2 ~ 4 の範囲があり、vec2 であれば二つの要素を持つベクトルという意味になります。
mat* というふうに書く場合は、正方行列を表しています。ベクトルと同様に 2 ~ 4 の範囲で指定でき、たとえば mat3 であれば 3 x 3 の正方行列を表します。
そのほか、int は符号付の整数型、float は符号付の浮動小数点数型、bool は真偽値を表す条件型を表し、これは C 言語などで使われている一般的な意味と同じです。vec* と mat* については、それぞれの要素は全て浮動小数点数型になっています。